Re: passwd hashing algorithm

John F. Haugh II (jfh@rpp386.cactus.org)
Tue, 18 Apr 95 21:52:19 CDT

> 1. 25 iterations of DES with the first 8 bytes of the
>    password as key, followed by 25 iterations of DES
>    with the second 8 bytes of password as key.
> 
> 2. repeat 25 times:
>      an iteration of DES with the first 8 bytes of the
>      password as key, followed by an iteration of DES
>      with the second 8 bytes of password as key.
> 
> (1) can be broken on a workstation with ~ 2^32 steps (and
> very little in the way of memory);

I've never seen anything resembling a convincing argument for this point.
SecureWare uses a mechanism similar to this and it is part of one of
their security offerings.  I've used a slightly different, but similar,
approach for several years and except for people noting that the second
half of the encrypted string is very vulnerable, no one has ever shown
it to be significantly less strong than a single route of 8 byte crypt()
ala current practice.

What I will concede is that 1) leaves you with a password function not
much more than twice as strong as crypt() was to begin with.  This is
because, as you point out, DES is a block cipher.  I do believe that
there are better approaches to 1) that still use DES, and I'm very keen
on sticking with crypt() for compatibility reasons.
-- 
John F. Haugh II  [ NRA-ILA ] [ Kill Barney ] !'s: ...!cs.utexas.edu!rpp386!jfh
Ma Bell: (512) 251-2151 [GOP][DoF #17][PADI][ENTJ]   @'s: jfh@rpp386.cactus.org